The invention relates to communications telephone systems. In particular, the invention relates to allocation of microprocessor resources in a wireless communication system.
A wireless communication system may comprise multiple remote units and multiple base stations. FIG. 1 exemplifies an embodiment of a terrestrial wireless communication system with three remote units 10A, 10B and 10C and two base stations 12. In FIG. 1, the three remote units are shown as a mobile telephone unit installed in a car 10A, a portable computer remote 10B, and a fixed location unit 10C such as might be found in a wireless local loop or meter reading system. Remote units may be any type of communication unit such as, for example, handheld personal communication system units, portable data units such as a personal data assistant, or fixed location data units such as meter reading equipment. FIG. 1 shows a forward link 14 from the base station 12 to the remote units 10 and a reverse link 16 from the remote units 10 to the base stations 12.
Communication between remote units and base stations, over the wireless channel, can be accomplished using one of a variety of multiple access techniques which facilitate a large number of users in a limited frequency spectrum. These multiple access techniques include time division multiple access (TDMA), frequency division multiple access (FDMA), and code division multiple access (CDMA). An industry standard for CDMA is set forth in the TIA/EIA Interim Standard entitled xe2x80x9cMobile Stationxe2x80x94Base Station Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular Systemxe2x80x9d, TIA/EIA/IS-95, and its progeny (collectively referred to here as IS-95), the contents of which are incorporated herein by reference. Additional information concerning a CDMA communication system is disclosed in U.S. Pat. No. 4,901,307, entitled xe2x80x9cSPREAD SPECTRUM MULTIPLE ACCESS COMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS,xe2x80x9d (the ""307 patent) assigned to the assignee of the present invention and incorporated in its entirety herein by reference.
In the ""307 patent, a multiple access technique is disclosed where a large number of mobile telephone system users, each having a transceiver, communicate through base stations using CDMA spread spectrum communication signals. The CDMA modulation techniques disclosed in the ""307 patent offer many advantages over other modulation techniques used in wireless communication systems such as TDMA and FDMA. For example, CDMA permits the frequency spectrum to be reused multiple times, thereby permitting an increase in system user capacity. Additionally, use of CDMA techniques permits the special problems of the terrestrial channel to be overcome by mitigation of the adverse effects of multipath, e.g. fading, while also exploiting the advantages thereof.
In a wireless communication system, a signal may travel several distinct propagation paths as it is transmitted between base stations and remote units. The signal generated by the multipath characteristics of the wireless channel presents a challenge to the communication system. One characteristic of a multipath channel is the time spread introduced in a signal that is transmitted through the channel. For example, if an ideal impulse is transmitted over a multipath channel, the received signal appears as a stream of pulses. Another characteristic of the multipath channel is that each path through the channel may cause a different attenuation factor. For example, if an ideal impulse is transmitted over a multipath channel, each pulse of the received stream of pulses generally has a different signal strength than other received pulses. Yet another characteristic of the multipath channel is that each path through the channel may cause a different phase on the signal. For example, if an ideal impulse is transmitted over a multipath channel, each pulse of the received stream of pulses generally has a different phase than other received pulses.
In the wireless channel, the multipath is created by reflection of the signal from obstacles in the environment such as, for example, buildings, trees, cars, and people. Accordingly, the wireless channel is generally a time varying multipath channel due to the relative motion of the structures that create the multipath. For example, if an ideal impulse is transmitted over the time varying multipath channel, the received stream of pulses changes in time delay, attenuation, and phase as a function of the time that the ideal impulse is transmitted.
The multipath characteristics of a channel can affect the signal received by the remote unit and result in, among other things, fading of the signal. Fading is the result of the phasing characteristics of the multipath channel. A fade occurs when multipath vectors add destructively, yielding a received signal that is smaller in amplitude than either individual vector. For example if a sine wave is transmitted through a multipath channel having two paths where the first path has an attenuation factor of X dB, a time delay of xcex4 with a phase shift of xe2x8ax96 radians, and the second path has an attenuation factor of X dB, a time delay of xcex4 with a phase shift of xe2x8ax96+xcfx80 radians, no signal is received at the output of the channel because the two signals, being equal amplitude and opposite phase, cancel each other. Thus, fading may have a severe negative effect on the performance of a wireless communication system.
A CDMA communications system is optimized for operation in a multipath environment. For example, the forward link and reverse link signals are modulated with a high frequency pseudonoise (PN) sequence. The PN modulation allows the many different multipath instances of the same signal to be separately received through the use of a xe2x80x9crakexe2x80x9d receiver design. In a rake receiver, each element within a set of demodulation elements can be assigned to an individual multipath instance of a signal. The demodulated outputs of the demodulation elements are then combined to generate a combined signal. Thus, all of the multipath signal instances must fade together before the combined signal experiences a deep fade.
In the remote unit, a microprocessor is used to assign demodulation elements to the available multipath signal instances. A search engine is used to provide data to the microprocessor concerning the multipath components of the received signal. The search engine measures the arrival time and amplitude of the multipath components of a pilot signal transmitted by the base stations. The effect of the multipath environment is the same on the pilot signal and the data signal. Determining the multipath environment""s effect on the pilot signal allows the microprocessor to assign demodulation elements to the data channel multipath signal instances.
The search engine determines the multipath components of the pilot signal by xe2x80x9csearchingxe2x80x9d through a sequence of potential path offsets and measuring the energy of the pilot signal received at each of the potential path offsets. The microprocessor evaluates the energy associated with a potential offset, and, if it exceeds a certain threshold, assigns a signal demodulation element to that offset. A method and apparatus of demodulation element assignment based on searcher energy levels is disclosed in U.S. Pat. No. 5,490,165 entitled xe2x80x9cDEMODULATION ELEMENT ASSIGNMENT IN A SYSTEM CAPABLE OF RECEIVING MULTIPLE SIGNALSxe2x80x9d, assigned to the assignee of the present invention.
FIG. 2 shows an exemplary set of multipath signal instances of a single pilot signal from a base station arriving at a remote unit. The vertical axis represents the power received in decibels (dB). The horizontal axis represents the delay in the arrival time of a signal instance due to multipath delays. The axis (not shown) going into the page represents a segment of time. Each signal spike in the common plane of the page has arrived at the remote unit at a common time but has been transmitted by the base station at a different time. Each signal spike 22-27 has traveled a different path and therefore exhibits a different time delay, a different amplitude, and a different phase response. The six different signal spikes represented by spikes 22-27 are representative of a severe multipath environment. Typical urban environment produces fewer usable paths. The noise floor of the system is represented by the peaks and dips having lower energy levels. The task of the search engine is to identify the delay, as measured by the horizontal axis, and amplitude, as measured by the vertical axis, of signal spikes 22-27 for potential demodulation element assignment.
Note, as shown in FIG. 2, each of the multipath peaks varies in amplitude as a function of time as shown by the uneven ridge of each multipath peak. In the limited time shown, there are no major changes in the multipath peaks. Over a more extended time range, multipath peaks disappear and new paths are created as time progresses. Multipath peaks are likely to merge together or blur into a wide peak over time. The system microprocessor steps the search engine through a set of offsets, called a search window, that is likely to contain one or more multipath signal peaks suitable for assignment to a demodulation element. For each offset, the search engine reports the energy it found at that offset back to microprocessor. Demodulation elements may then be assigned by microprocessor to the paths identified by the search engine (i.e. the timing reference of their PN generators is moved to align it to that of the found path). Once a demodulation element has locked onto the signal at its assigned offset, it then tracks that path on its own without microprocessor supervision, until the path fades away or until the demodulation element is assigned to another path by the microprocessor.
In a communication system based on the industry standard for CDMA, IS-95, each of the multiple base stations transmits a pilot signal having a common PN sequence. Each base station transmits the pilot signal offset in time from neighboring base stations so that the signals can be distinguished from one another at the remote unit. At any given time, the remote unit may receive a variety of signals from multiple base stations. Using a copy of the PN sequence, which is generated at the remote unit, the entire PN space can be searched by the remote unit. Using the search results, the microprocessor distinguishes the multiple base stations based on the time offset.
FIG. 3 shows an extended portion of PN space on the horizontal axis. The groups of peaks 30, 32 and 34 represent transmissions from three different base stations. As is seen, the signal from each base station signal experiences a different multipath environment. Also, each base station has a different PN offset from the PN reference 36. Thus, the microprocessor may select a set of PN offsets corresponding to a search window for any of the identified base stations. This allows the remote unit to simultaneously demodulate signals from multiple base stations by assigning demodulation elements appropriately.
One purpose of the search engine, as described above, is to aid in maintaining the wireless link between the remote unit and a base station. Because the wireless channel is constantly changing, multi-path searching must be performed on a virtually continuous basis, otherwise the wireless link may be lost due to, for example, fading. If the wireless link is lost, communications between the remote unit and the base station are terminated. Therefore, the search engine is assigned a relatively high priority in the hierarchy of tasks competing for resources of the microprocessor.
However, other tasks required to support data transfer over the wireless link also require the allocation of resources of the microprocessor. For example, in a typical remote unit, the transfer of voice signals requires the allocation of some of the resources of the microprocessor. In addition, some remote units support data services such as, for example, the transfer of digital data for an internet connection or facsimile transmission. A companion data services standard for an IS-95 system is disclosed in IS-707 entitled xe2x80x9cData Services. Options for Wideband Spread Spectrum Systems.xe2x80x9d According to IS-707, data services are implemented through the use of a radio link protocol (RLP) which error detection, error correction, flow control, and retransmission request, retransmission response. Typically, the support of the data services functions requires even more intensive allocation of microprocessor resources than the voice service functions.
In addition to multi-path searching and voice end data transmission, other lower priority tasks in the remote unit also require microprocessor resources. These lower priority tasks may include updating the display and receiving user input as well as many other functions. Thus, some minimum amount of the microprocessor resources should be allocated among these tasks to maintain proper operation of the overall remote unit.
Thus, in a remote unit, the tasks associated with link maintenance (such as searching), the tasks associated with data transfer (such as voice or data services) and the other remote unit tasks must share the available microprocessor resources. Without a proper allocation of microprocessor resources among these tasks, the remote unit cannot operate properly.
Therefore, there is a need in the art for a method of and apparatus for allocating microprocessor resources in a remote unit of a wireless communication system.
The invention improves the efficiency of the allocation of resources of a microprocessor in a remote unit in a wireless communication system. According to the invention, the search rate limit of the remote unit is varied in response to microprocessor loading. In general, as the search rate increases, the loading of the microprocessor increases. By limiting the search rate, the amount of microprocessor resources allocated to the searching process can be decreased, thus allowing other functions within the remote unit to have access to the microprocessor resources. The search rate can be reduced by the introduction of delay within the searching process.
According to one embodiment of the invention, initially the introduced delay is set equal to zero and the current search rate limit is set equal to a higher upper search rate limit. The microprocessor generates the desired search parameters and forwards them to a search engine. The current search rate and microprocessor loading are determined. If the microprocessor is not overloaded and the current search rate limit is less than the upper search rate limit, the current search rate limit is increased. If the microprocessor is overloaded and the current search rate limit is greater than a lower upper search rate limit, the current search rate limit is decreased. If the microprocessor is overloaded and the current search rate limit is equal to the lower upper search rate limit, the task priority of the lower priority tasks is adjusted. In any case, if the current search rate is greater than the current search rate limit, additional delay is inserted into the searching process in order to reduce the search rate. If the current search rate is less than the current search rate limit, the additional delay, if any, is decreased.
In this way, when microprocessor resources are available and the current conditions warrant, additional microprocessor resources are allocated to the searching process. When microprocessor resources are in high demand, the microprocessor resources are allocated to other functions so long as the search rate remains above the lower upper search rate limit.